﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace thinger.AutomaticStoreMotionModels
{
    public class AdvancedParam
    {
        //运动控制卡
        //卡号
        public short nudCardNo { get; set; } = 1;
        //轴数量
        public short nudAxisCount { get; set; } = 4;
        //轴号
        public short nudAxisXNo { get; set; } = 1;
        public short nudAxisYNo { get; set; } = 2;
        public short nudAxisZNo { get; set; } = 3;
        public short nudAxisUNo { get; set; } = 4;


        //输入输出接口
        //存料按钮
        public short nudStoreButton { get; set; } = 1;
        //取料按钮
        public short nudReclaimButton { get; set; } = 2;
        //急停按钮
        public short nudEmergencyButton { get; set; } = 3;
        //夹子打开到位
        public short nudClipOpen{ get; set; } = 4;
        //夹子关闭到位
        public short nudClipClose { get; set; } = 5;

        //存料指示
        public short nudStoreState { get; set; } = 1;
        //取料指示
        public short nudReclaimState { get; set; } = 2;
        //模式指示
        public short nudModeState { get; set; } = 3;
        //夹子控制
        public short nudClipCtrl { get; set; } = 4;
        //上左门控制
        public short nudTopLeftDoor { get; set; } = 5;
        //上后门控制
        public short nudTopBehindDoor { get; set; } = 6;
        //上右门控制
        public short nudTopRightDoor { get; set; } = 7;
        //下前门控制
        public short nudBottomFrontDoor { get; set; } = 8;
        //照明控制
        public short nudLightCtrl { get; set; } = 9;

        //总行数
        public short nudRowCount { get; set; } = 10;
        //总列数
        public short nudColumnCount { get; set; } = 9;


        //运动控制卡配置文件
        public string cobCfg { get; set; } = "cfg";


        //脉冲当量
        //X轴缩放系数
        public double nudAxisXUnit { get; set; } = 4000;
        //Y轴缩放系数
        public double nudAxisYUnit { get; set; } = 4000;
        //Z轴缩放系数
        public double nudAxisZUnit { get; set; } = 4000;

        //加速度
        //X轴加速度
        public double nudAxisXAcc { get; set; } =0.01;
        //Y轴加速度
        public double nudAxisYAcc { get; set; } = 0.01;
        //Z轴加速度
        public double nudAxisZAcc { get; set; } = 0.01;

        //回零方向
        //X轴回零方向
        public string cobAxisXHomeDir { get; set; } = "正向";
        //Y轴回零方向
        public string cobAxisYHomeDir { get; set; } = "正向";
        //Z轴回零方向
        public string cobAxisZHomeDir { get; set; } = "正向";

        //回原点参数
        //X轴正向寻原点距离
        public short nudAxisXHomePos { get; set; } = 10;
        //X轴反向寻原点距离
        public short nudAxisXHomeNeg { get; set; } = 100;
        //Y轴正向寻原点距离
        public short nudAxisYHomePos { get; set; } = 10;
        //Y轴反向寻原点距离
        public short nudAxisYHomeNeg { get; set; } = 100;
        //Z轴正向寻原点距离
        public short nudAxisZHomePos { get; set; } = 10;
        //Z轴反向寻原点距离
        public short nudAxisZHomeNeg { get; set; } = 100;

        //寻原点偏移 Pulse
        //X轴寻原点偏移
        public short nudAxisXHomeOffset { get; set; } = 8000;
        //Y轴寻原点偏移
        public short nudAxisYHomeOffset { get; set; } = 8000;
        //Z轴寻原点偏移
        public short nudAxisZHomeOffset { get; set; } = 8000;


    }
}
